//
//  TestLocationModel.h
//  WiteBox
//
//  Created by John Blanco on 6/26/09.
//  Copyright 2009 Effective UI. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <objc/objc-runtime.h>

@interface TestLocationModel : NSObject {
	// callback for completed tests
	id callbackTarget;
	SEL callbackAction;
	
	NSMutableArray *testCaseClasses;
	NSMutableArray *testCaseRuns;
}

+ (id)sharedInstance;

- (id)setTarget:(id)target action:(SEL)action;

- (void)collectAllTestCaseClasses;
- (void)scheduleAllTestCases;
- (void)runAllTestCases;

- (NSArray *)testCaseRuns;

- (BOOL)isDescendantOfTestCase:(Class)aClass;
- (NSInteger)findTestMethods:(Method *)methods inClass:(Class)aClass;

@end
